Computer-generated objects often benefit from connectivity information for a plurality of points along the surface of the object. For example, point connectivity information may aid in performing topographical modeling, three-dimensional modeling of an object, architectural modeling in a computer-aided design program. In general, connectivity information for a plurality of points along a surface of a computer-generated object may aid the manipulation of any computer-generated object.
In one particular example, point connectivity on the surface of the a computer-generated object may improve the appearance of hair or fur that is placed along the surface of a computer-animated object. For example, hair strands or other similar features on the object are often created using an interpolation process that uses one or more guide curves to determine the placement and look of thousands of the hair strands. More particularly, an individual of a computer-generated object will often create several guide curves that may dictate the position and look of the hair strands near the guide curves and locate them on the surface of the object. In general, a single guide curve may dictate the position and look of several thousand hair strands generated along the surface of the object. Once the guide curves are located on the object's surface, a computer program will often utilize an interpolation process to fill in the area between the guide curves along the surface of the object with generated hair strands. In this manner, a computing system may create several thousand interpolated hair strands from a few guide curves created by the individual and placed along the surface of the object, thereby removing the need for the individual to animate or draw each individual hair in a time-consuming fashion.
More particularly, once the guide curves are placed on the surface of the object by the individual, the interpolation process performed by the computing system may evaluate the guide curves in an attempt to provide a natural appearing interpolation of the hair of the object. In general, the interpolation process may involve determining which guide curve to apply to each generated hair strand, assigning a weight to each guide curve and blending the guide curves to create interpolated hair. However, determining which guide curve applies to each hair strand during the generation process can be difficult, especially when the hair interpolation is applied on a 3-D model. For one, the guide curves may lie across multiple surfaces of the computer-generated object, such as subdivisions, nurbs or polys, with each facing a different direction and little to no connectivity information between the surfaces. Thus, while the individual may intend for a specific guide curve to apply to a particular region of the object, the interpolation process may mistakenly apply a different guide curve to the region from the same surface subdivision. Also, the placement of the guide curves may be unordered by the individual, from closely located guide curves to distant locations across multiple faces. Without proper connectivity information the mixture of sparse and dense guide placement may result in uneven generation of the hair strands.
To address some of these difficulties, many computer programs capable of performing the interpolation hair-generation process restrict the placement of guide curves along the surface to qualifying face boundaries. Similarly, many computer programs may limit the number of guide curves located within a certain area such that the density of the points does not exceed a threshold. These restrictions, however, take some control away from the individual to manipulate the interpolated hair as desired with a second result that the generated object may not appear as the individual intends. Thus, what is needed is an apparatus and/or method to determine which guide curve may affect each interpolated hair that allows the individual more freedom in the placement of the guide curves along the surface of the computer-generated object.